package com.ys.erp.stage_marketing_service.bean.vo;


import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * @author lwj
 * @date 2023/7/21
 */
@Data
@Schema(description = "优惠券记录统计")
public class CouponStatisticsVO {

    @Schema(description = "总数量")
    private NumberStatisticsVO totalCount;

    @Schema(description = "已使用数量")
    private NumberStatisticsVO usedCount;

    @Schema(description = "未使用数量")
    private NumberStatisticsVO unUseCount;

    @Schema(description = "过期数量")
    private NumberStatisticsVO timeoutCount;

    @Schema(description = "券列表统计信息")
    private List<CouponInfoStatisticsVO> couponInfoStatisticsList;

    @Data
    @Schema(description = "优惠券统计信息返回对象")
    public static class CouponInfoStatisticsVO {

        private Long id;

        @Schema(description = "券名字")
        private String couponName;

        @Schema(description = "券总数量")
        private Integer totalCount;

        @Schema(description = "券已使用数量")
        private Integer usedCount;

        @Schema(description = "券未使用数量")
        private Integer unUseCount;

        @Schema(description = "券过期数量")
        private Integer timeoutCount;

        @Schema(description = "活动名称列表")
        private List<String> activityNameList;

    }

    @Data
    public static class NumberStatisticsVO {
        @Schema(description = "总数量")
        private Integer totalCount = 0;
        @Schema(description = "活动发放")
        private Integer activityNumber = 0;
        @Schema(description = "系统发放")
        private Integer systemNumber = 0;
    }

}
